﻿<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Host - Supernova</title>
    <link href="styles.css" rel="stylesheet" />
</head>
<body>
    <h1>Host Your Own Server</h1>

    <h2>Requirements</h2>

    <p>The server software supports the following environments:</p>
    <ul>
        <li>Microsoft Windows version 7 or above, with .NET Framework 4.0 installed/enabled.</li>
        <li>Linux with Mono. The server was tested on a Raspberry Pi running Raspian, based on Debian.</li>
    </ul>

    <h2>Files</h2>

    <p>
        Click below to download the server files:<br />
        <a href="snserver-3-6.zip">snserver-3-6.zip</a>
    </p>

    <h2>Installation</h2>

    <p>The following steps describe how to install, configure and run the server:</p>
    <ol>
        <li>Create an empty folder to hold the files.</li>
        <li>Unzip the contents of snserver.zip package into the new folder.</li>
        <li>Configure the server by editing Configuration.xml as per the instructions below.</li>
        <li>If running under Windows, execute snserver.exe. For Linux, invoke it via mono, with the -c parameter (i.e. mono snserver.exe -c).</li>
        <li>If necessary, make firewall exceptions.</li>
    </ol>
    <p>Note that snserver.exe can also be set up to run as a Windows service via the sc console command. For example: sc create &quot;Supernova Server&quot; binPath= (location)\snserver.exe</p>
    <p>To run snserver.exe as a service in Linux, use the mono-service command. For example: mono-service -l:/var/supernovaServer/snserver.lock /var/supernovaServer/snserver.exe</p>

    <h2>Configuration</h2>

    <p>Edit Configuration.xml to configure the server. If you make any changes to Configuration.xml while the server is running, you will need to restart the server in order for the changes to take effect.</p>
    <p>Most settings are self explainatory, however some of the less obvious ones are described here:</p>
    <ul>
        <li>ServerName: This is the display name of the server that will be displayed in the server selection screen.</li>
        <li>Address: This is the address that the server will listen on, and clients will be asked to connect to.</li>
        <li>Port: This is the port the server will listen on. Please set it to the same port in the Address setting.</li>
        <li>MaximumPlayers: Please do not set this higher than 8. Clients do not support more than 8 players.</li>
        <li>HostKey: The host key, that allows anyone who knows it to become a host in the Supernova multiplayer lobby.</li>
        <li>DebugMode: For internal testing purposes only, please do not set this to True.</li>
        <li>DefaultGenerator: Either Balanced or Classic.</li>
        <li>PlayReplays: Determines whether or not players can view replays.</li>
        <li>SlotData: Please be very careful with this. When changing values, please add another VersionedSlotData node rather than changing existing values. If you are changing the number of slots, be sure to keep everything consistent. For example, AttackPower and AttackRadius and AttackDelay must all have the same number of values.</li>
        <li>StarSystemGeneration: Only some of the data contained in this node kicks in with Balanced map generation.</li>
        <li>Resources: Only some of the data contained in this node kicks in with Balanced map generation.</li>
    </ul>
</body>
</html>
